
fs = 1000;         % 采样频率 1kHz
N = 1000;
sigSourceCfg.freqs = [100, 200, 300]; % 复正弦信号的频率（Hz）
sigSourceCfg.gains = [1, 0.8, 0.6]; % 复正弦信号的频率（Hz）
sigSourceCfg.noisePower = 1e-1; % 噪声功率
sigSourceCfg.fs = fs; % 采样率（Hz）
sigSourceCfg.numSamples = N; % 样本数
% 生成信号
signal = sinu_generator(sigSourceCfg);

% MUSIC参数
num_sources = length(sigSourceCfg.freqs);    % 已知信号源数目
NFFT = 1000;        % 频率分辨率
P = 10;

% 调用MUSIC谱估计函数
[P_music, f] = music(signal, fs, num_sources, P, NFFT);
P_music_db = pow2db(abs(P_music));
% 绘制结果

fig = figure('Visible','off');
plot(f, P_music_db, 'LineWidth', 1);
title('music Spectrum Estimation');
xlabel('Frequency (Hz)');
ylabel('Spectrum(dB)');
grid on;
exportgraphics(fig,'test.jpg');
close(fig);